The present application relates to a transmission and reception system, a transmitter, a transmission method, a receiver, a reception method, and a program. More specifically, the invention relates to a transmission and reception system, a transmitter, a transmission method, a receiver, a reception method, and a program capable of preventing congestion from occurring and transmission rates from degrading due to data retransmission.
In order to realize streaming reproduction and realtime transmission during transmission of audiovisual data, it is desirable to use RTP (Real-time Transport Protocol) specified in RFC (Request For Comment) 1889 and provide transmission control in accordance with packet sequences or time stamps.
Generally, a data transmission network is subject to a packet loss due to congestion or errors and variations in available transmission rates due to the network's physical bands or congestion. In order to ensure and improve the reproduction quality of received data in such situation, it is necessary to control transmission rates corresponding to data coding rates and network's available bands and to control retransmission of lost packets.
Generally, the transmission rate control technique using the RTP allows a receiver to monitor sequence numbers attached to RTP packets, detect a packet loss based on the sequence numbers, and calculate the transmission rate according to a packet loss rate and a transmission delay (RTT (Round Trip Time)).
The transmission rate control techniques using the RTP include TFRC (TCP-Friendly Rate Control) specified in RFC3448. Another control technique takes radio communication states into consideration based on TFRC.
According to a retransmission control technique in consideration for the realtime property of data (e.g., JP-A No. 119437/2001), a receiver to receive data packets detects a lost packet based on the missing sequence number attached to the packet and requests retransmission of the packet. Out of packets requested for retransmission, a transmitter to transmit packets selects and retransmits a packet that will reach the receiver by the time to retransmit the packet.
According to another technique (e.g., International Publication 02/30067), a receiver to receive data packets detects loss of a highly prioritized packet based on multiple priorities assigned to the packets and requests retransmission of that packet.
However, there may be a case where the above-mentioned transmission rate control technique is performed simultaneously with the retransmission control technique described in patent document 1 or 2. In such case, a packet targeted for retransmission is transmitted independently of the transmission rate control. The transmitter may transmit both a packet to be retransmitted (hereafter referred to as a retransmission packet) and an untransmitted packet (hereafter referred to as a normal packet). The total transmission amount (the data amount of retransmission packets and normal packets) may exceed the transmission rate calculated according to the transmission rate control technique and may cause further packet loss.
In the following description, retransmission packets and normal packets are generically referred to simply as packets when there is no need for distinction between them.
Since the retransmission packet is transmitted independently of the transmission rate control, the transmission rate control does not manage sequence numbers attached to the retransmission packets. As a result, an error may occur in the amount of received packets the receiver detects based on the sequence numbers. There may be a possibility of failing to accurately calculate a packet loss rate used for the transmission rate calculation.
Yet another technique is proposed to prevent a transmission rate from increasing due to retransmission packets (e.g., JP-A No. 228676/2000). According to this technique, an intermediate apparatus is provided between the transmitter and the receiver. The intermediate apparatus references priorities of retransmission packets and those of normal packets and omits the normal packets equivalent to the retransmission packets.
According to the technique described in patent document 3, however, omitting the normal packets loses the continuity of sequence numbers for the subsequent normal packets. Even when no packet is lost, the receiver detects a lost packet based on the sequence numbers. This results in a decrease in the transmission rate calculated by using a loss rate of packets (packet loss rate).
When the intermediate apparatus omits packets, their sequence numbers can be rewritten so as to be sequential, thus maintaining the continuity of sequence numbers for the subsequent normal packets. However, there is a difference between sequence numbers provided for normal packets by the transmitter and normal packets' sequence numbers received by the receiver. Accordingly, there is a difference between two types of sequence numbers. One is the sequence number assigned to a normal packet whose loss the receiver detects to request retransmission for that packet. The other is the sequence number the transmitter assigns to a normal packet and maintains it. In this manner, it is difficult for the transmitter to accurately retransmit the packet requested for retransmission.
The invention addresses the above-identified. It is desirable to be able to prevent congestion from occurring and transmission rates from degrading due to data retransmission.